Zooming factor computation

ABSTRACT

Systems, methods, and devices are disclosed for determining a zooming factor for a camera in a pan, tilt, and zoom (PTZ) camera tracking system to enable a camera to keep an object at a constant size within the camera&#39;s viewing area, despite changes in the object&#39;s distance from the camera. This provides a complement to a camera&#39;s pan and tilt tracking of the moving object. For example, a PTZ camera tracking system that determines an object to track, utilizes information regarding images of the object of interest are used to determine a zooming factor (or other zooming value) for a camera in the PTZ camera tracking system. This information includes variables such as tilt angles of one or more cameras and a reference zooming factor.

BACKGROUND

Surveillance systems are often used to monitor activity of a securearea. For instance, video cameras and other devices can provide visual,audio, movement, heat and other information that can allow a securityguard to determine whether a secure area is being breached. Thesesystems can be partially or wholly automated to provide efficientmonitoring of the secure area.

Modern processors and other computing devices have the processing powerto automate the tracking of a moving object within a camera's viewingarea. These systems run algorithms to determine that an object is movingand adjust the pan and tilt of a camera to try to ensure that the objectdoes not leave the camera's viewing area. As the distance of the objectto the camera changes, the zooming factor of the camera can be adjusted.

SUMMARY

An example of a method of computing a zooming factor includes receivingfirst image information, from the image source, of a first image of anobject of interest. The first image information corresponds to a firsttilt angle of the image source. The method further includes receivingsecond image information, from the image source, of a second image ofthe object of interest. The second image information is indicative of asecond tilt angle of the image source. The method also includesdetermining a first zooming value corresponding to the first image andcalculating a second zooming value using the first tilt angle, the firstzooming value, and the second tilt angle. Finally, the method includessending zooming information, indicative of the second zooming value, tothe image source.

Implementations of such a method may include one or more of thefollowing features. Capturing the first image with a first camera of theimage source using the first tilt angle while the object of interest isat a particular position; and capturing the second image with a secondcamera, separate from the first camera, of the image source using thesecond tilt angle while the object of interest is at substantially theparticular position. Calculating the second zooming value further usingat least one of a height of the first camera relative to the ground, ora height of the second camera relative to the ground. Controllingtracking of the object of interest by the second camera. Determining thefirst zooming value is based, at least in part, on a size of the objectof interest relative to the viewing area of the first camera.Determining the first zooming value based, at least in part, on a largerof a height and a width of the portion of the viewing area of the firstcamera occupied by the object of interest. Where the image sourcecomprises a camera, the method further comprises capturing the firstimage while the object of interest is at a first distance from thecamera; and capturing the second image while the object of interest isat a second distance from the camera. Producing and sending the firstimage information and the second image information from a processorphysically located within a housing of the camera. Determining the firstzooming value based, at least in part, on a size of the object ofinterest relative to a viewing area of the camera. Determining at leastone of the first tilt angle or the second tilt angle.

An example of a non-transitory machine-readable storage medium accordingto the disclosure includes instructions embodied thereon that, whenexecuted by at least one machine, cause the at least one machine todetermine, from first image information provided by an image source, afirst zooming value corresponding to a first image of an object ofinterest where the first image information corresponds to a first tiltangle of the image source; determine, from second image informationprovided by the image source, a second tilt angle corresponding to asecond image of an object of interest; calculate a second zooming valueby using the first tilt angle, the first zooming value, and the secondtilt angle; and send zooming information indicative of the secondzooming value toward the image source.

Implementations of such a method may include one or more of thefollowing features. The instructions that cause the at least one machineto calculate the second zooming value cause the at least one machine touse at least one of: a height of a first camera relative to the ground,or a height of a second camera relative to the ground. The instructions,when executed by the at least one machine, cause the at least onemachine to control tracking of the object of interest by the secondcamera. The first zooming value is based, at least in part, on a size ofthe object of interest relative to the viewing area of the first camera.The first zooming value is based, at least in part, on a size of theobject of interest relative to a viewing area of a camera. Theinstructions, when executed by the at least one machine, further causethe at least one machine to determine at least one of the first tiltangle or the second tilt angle.

An example of a system for calculating a zooming factor according to thedisclosure includes a first camera having a first tilt angle and aviewing area, the first tilt angle being fixed. The first camera isconfigured to capture a first image of an object of interest while theobject of interest is at a particular position; and output dataregarding the first image. The system also comprises a second camerahaving an adjustable tilt angle enabling the second camera to track theobject of interest. The second camera is configured to capture, using asecond tilt angle, a second image of the object of interest while theobject of interest is at substantially the particular position; andoutput data regarding the second tilt angle. The system furthercomprises a processor communicatively coupled with the first camera andthe second camera. The processor is configured to determine a firstzooming value for the first camera; calculate a second zooming valueusing the first tilt angle, the first zooming value, and the second tiltangle; and send information to cause a zooming value of the secondcamera to change according to the second zooming value.

Implementations of such a system may include one or more of thefollowing features. The processor is configured to determine the firstzooming value based, at least in part, on a portion of the viewing areaof the first camera occupied by the object of interest. The processor isconfigured to determine the first zooming value based, at least in part,on a larger of a height and a width of the portion of the viewing areaof the first camera occupied by the object of interest. The processor islocated within a housing of the first camera or the second camera. Theprocessor is further configured to control the tracking of the object ofinterest by the second camera. The processor is configured to calculatethe second zooming value using at least one of a height of the firstcamera relative to the ground, or a height of the second camera relativeto the ground.

An example of another system for calculating a zooming factor accordingto the disclosure includes a camera having an adjustable tilt angle andbeing configured to track an object of interest, the camera beingfurther configured to capture a first image of the object of interest,with the camera set to a first tilt angle and a first zooming value;change a tilt angle of the camera from the first tilt angle to a secondtilt angle in response to a change in the distance of the object ofinterest to the camera; capture a second image of the object ofinterest, with the camera set to the second tilt angle; and provideindications of the first tilt angle, the first zooming value, and thesecond tilt angle. The system further comprises a processor,communicatively coupled to the camera, configured to calculate a secondzooming value using the first tilt angle, the first zooming value, andthe second tilt angle; and send information to the camera to cause thezooming value of the camera to change from the first zooming value tothe second zooming value.

Implementations of such a system may include one or more of thefollowing features. The first zooming value is based, at least in part,on a portion of the viewing area of the first camera occupied by theobject of interest. The processor is located within a housing of thecamera. The processor is further configured to control the tracking ofthe object of interest by the camera.

Items and/or techniques described herein may provide one or more of thefollowing capabilities, as well as other capabilities not mentioned.Automatic zoom control can be provided for a pan, tilt, and zoom (PTZ)camera with little processing power. Zoom control of a PTZ camera can beintegrated with manual and/or automatic PTZ camera tracking Zoom controlfor multi-camera video systems can be provided. These capabilities canincrease efficiency of the systems controlling the PTZ zooming.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is an illustration of a video surveillance system utilizing amaster camera and a slave camera.

FIG. 2 is a block diagram of the video surveillance system of FIG. 1.

FIG. 3 is a block diagram of a camera including a computing unit withpan, tilt, and zoom control units.

FIG. 4A is a simplified perspective view of the video surveillancesystem of FIG. 1 and its corresponding geometry.

FIG. 4B is an illustration of an image seen by the master camera of FIG.1, with corresponding geometry.

FIG. 5 is a block flow diagram of a method for determining a zoom factorfor the slave camera in the video surveillance system of FIG. 1.

FIG. 6 is a block diagram of a video surveillance system utilizing asingle pan, tilt, and zoom (PTZ) camera.

FIG. 7 is a simplified side view of the video surveillance system ofFIG. 6 and its corresponding geometry.

FIG. 8 is a block flow diagram of a method for determining a zoom factorfor the PTZ camera in the video surveillance system of FIG. 6.

DETAILED DESCRIPTION

Techniques are discussed herein for determining a zooming factor for acamera in a pan, tilt, and zoom (PTZ) camera tracking system to enable acamera to keep an object at a substantially constant size within thecamera's viewing area, despite changes in the object's distance from thecamera. This provides a complement to a camera's pan and tilt trackingof the moving object. For example, a PTZ camera tracking system thatdetermines an object to track (hereinafter called the “object ofinterest”), utilizes information regarding images of the object ofinterest to determine a zooming factor (or other zooming value) for acamera in the PTZ camera tracking system. The information used includesvariables such as tilt angles of one or more cameras and a referencezooming factor.

The variables used to determine a zooming factor can be obtained indifferent ways. For example, a master camera and a slave camera can beused in which the master camera provides a first tilt angle andreference zooming factor. The first tilt angle of the master camera isfixed, but the reference zooming factor can be determined from imagescaptured by the master camera. The slave camera, on the other hand,tracks an object of interest and has a variable tilt angle that changesas the distance of the object of interest from the slave camera changes.The tilt angles and reference zooming factor are determined while theobject of interest is at a certain position. This typically entailsdetermining these variables at a given moment in time.

Another example uses a single camera that tracks an object of interest.Tilt angles and a reference zooming factor are determined at differentmoments in time. A first zooming factor and a first tilt angle of thecamera while the object of interest is at a first distance from thecamera are used to determine a second zooming factor for a second tiltangle while the object of interest is at a second distance from thecamera.

The terms “zooming factor” and “zooming value” are used genericallyherein and do not limit the scope of this disclosure. Numerous valuescan be used for the “zooming factor” or “zooming value” including valuesinversely proportional to the zoom, such as a focal length. Ultimately,any appropriate value that can be used as an indicator of the zoom levelof a camera can be used with appropriate modification to the equationsdetailed herein.

FIG. 1 illustrates of a surveillance system 100-1 utilizing a mastercamera 120 and a slave camera 140. The master camera 120 can compriseany of a variety of cameras, including fixed and adjustable cameras. Forexample, a PTZ camera, such as the Spectra® HD, by Pelco® of Clovis,Calif., can be a suitable master camera 120. The master camera 120 islocated at a known height and provides a fixed viewing area 130 thatallows the master camera to easily detect an object of interest 110 byutilizing a background subtraction-based algorithm. The location of theobject of interest 110 obtained from the master camera 120 is translatedinto pan and tilt angles, as well as a zooming factor, for the slavecamera 140.

The slave camera 140 is also located at a known height, which may differfrom the height of the master camera 120, and can vary, depending on thedesired functionality of the surveillance system 100-1. The slave camera140 is a PTZ camera, and as the object of interest 110 moves, the slavecamera 140 tracks the movement of the object of interest 110 byadjusting the tilt and pan angles accordingly, keeping the object ofinterest 110 within the slave camera's viewing area 150. The zoomingfactor of the slave camera 140 is adjusted, as detailed herein, using areference zooming factor of the master camera 120 and tilt angles ofboth the master camera 120 and the slave camera 140.

The reference zooming factor is determined based on the size of theobject of interest 110 as it appears in the master camera's viewing area130. For example, information from the master camera 120 and/or theslave camera 140 can be used to adjust the zoom of the camera 140 suchthat the object of interest 110 initially occupies about 80% of theslave camera's viewing area 150 (i.e., 80% of an image/screen providedby the slave camera 140). Thereafter, when the object of interest 110moves and the slave camera pans and/or tilts to ensure the object ofinterest 110 remains in the slave camera's viewing area 150, the zoomingfactor of the slave camera 140 is computed and subsequently adjustedsuch that the object of interest 110 continues to occupy about 80% ofthe slave camera's viewing area 150. The object of interest 110 couldinitially occupy a greater or lesser portion of the slave camera'sviewing area 150, such as 90% or more, or 50% or less, depending ondesired functionality. Additionally or alternatively, as shown incalculations discussed below, the reference zooming factor can bedetermined by the larger of an object of interest's height or width,relative to the viewing area 130, 150 of the master camera 120 or theslave camera 140.

FIG. 2 is a block diagram illustrating a device-level layout of thevideo surveillance system 100-1. This block diagram is provided as anexample only, and is not limiting. The video surveillance system 100-1can be altered, by, for example, including multiple master cameras 120and/or slave cameras 140, or having devices added, removed, rearranged,and/or combined.

A network 155 enables communication between the components. The network155 here is an Ethernet network, although the network 155 can includeany combination of wired and wireless networks using technologies suchas WiFi, optical, coaxal, and/or satellite. Images from the mastercamera 120 and/or the slave camera 140 are communicated though thenetwork 155 to a recording device 160, such as a videocassette recorder(VCR) or digital video recorder (DVR), that stores image information.Images from the master camera 120 and/or the slave camera 140 are alsocommunicated to a viewing device 170, such as a television or computermonitor, allowing security officers and/or other individuals to monitorthe areas shown in the images.

A computing unit 220 comprises part of the master camera 120 (e.g.,located within a housing of the master camera 120). Alternatively, thecomputing unit 220 can be integrated into another component in the videosurveillance system 100-1, such as the slave camera 140, or can be astand-alone device, such as a computer (not shown). As described in moredetail below, the computing unit 220 gathers information from the mastercamera 120 and the slave camera 140 to calculate a zooming value for theslave camera 140. The computing unit 220 communicates informationthrough the network 155 causing the slave camera 140 to change itszooming factor in accordance with the calculated zooming value.

FIG. 3 is a block diagram illustrating the components of the mastercamera 120, which can be altered to include more or less componentsaccording to desired functionality. The components include camera optics310, typically comprising lenses and other optical components,communicatively coupled with an image capturing unit 330. The imagecapturing unit 330 utilizes charge-coupled device (CCD) and/or othertechnology to convert optical images into electrical information that istransferred to the computing unit 220. Also coupled with the computingunit 220 is a communication interface 340 through which information issent to and from the network 155. The communicated interface 340 can,for example, receive image information from the slave camera 140, andsend zooming information to the slave camera 140.

The computing unit 220 processes image information using variouscomponents. A central processing unit (CPU) or digital-signal processor(DSP) 322 is preferably an intelligent device, e.g., a personal computercentral processing unit (CPU) such as those made by Intel® Corporationor AMD®, a microcontroller, an application specific integrated circuit(ASIC), etc. DSPs, such as the DM6446 made by Texas Instruments®, canalso be used. The CPU/DSP 322 is coupled with a memory 330 that includesrandom access memory (RAM) and read-only memory (ROM). The memory 330 isnon-transitory and preferably stores machine-readable,machine-executable software code 335 containing instructions that areconfigured to, when executed, cause the CPU/DSP 322 to perform variousfunctions described herein. Alternatively, the software 335 may not bedirectly executable by the processor CPU/DSP 322 but is configured tocause the processor CPU/DSP 322, e.g., when compiled and executed, toperform functions described.

The computing unit 220 controls tracking of the object of interest 110,at least in part. The computing unit 220 uses the image information fromthe image capturing unit 330 to detect the object of interest 110 in themaster camera's viewing area 130. The computing unit 220 also receivesimage information from the slave camera 140 from the communicationinterface 340, which is connected to the network 155. With informationfrom both the master camera 120 and slave camera 140, the CPU/DSP 322can control the pan, tilt, and zooming of the slave camera 140 using apan control unit 324, a tilt control unit 326, and a zoom control unit328, respectively. Alternatively, the computing unit 220 can control thezooming of the slave camera 140, as detailed below, with panning andtilt of the slave camera 140 controlled elsewhere.

FIG. 4A is a simplified geometrical representation of a two-camera videosurveillance system, which facilitates the discussion of how a zoomingfactor is derived. Using an orthogonal coordinate system centered on theground below the master camera 120, the world coordinates of the mastercamera 120 and the slave camera 140 are (0, 0, h_(m)) and (x_(s), y_(s),h_(s)), respectively. FIG. 4B shows an image 410 seen by the mastercamera 120, corresponding to the master camera's viewing area 130.Variables shown in FIGS. 4A-4B and used in the calculations below aredefined as follows:

-   -   θ_(m) is the tilt angle of the master camera 120;    -   φ_(s) is the tilt angle of the slave camera 140;    -   φ′_(m) is an angle of the master camera 120 between a point at        the master camera's center point of view, E_(m), (projected on        the xy plane) and a center C of the object of interest;    -   φ_(s) is an angle of the slave camera 140 between a point at the        slave camera's center point of view, E_(s), (projected on the xy        plane) and the center C of the object of interest;    -   α is half of the horizontal field of view of the master camera        120 (in degrees or radians);    -   β is half of the vertical field of view of the master camera 120        (in degrees or radians);    -   I_(w) is the image width (in pixels) of the master camera 120;        and    -   I_(h) is the image height (in pixels) of the master camera 120.

This geometrical setup facilitates defining a relationship to beestablished between world coordinates and image coordinates, which arecoordinates of an image corresponding to the master camera's viewingarea 130. Such image coordinates can be represented in pixels. Forexample, let the center C of the object of interest 110 (not shown) inthe image coordinates be (u,v), with a corresponding world coordinate at(x, y, 0). The point, B(0, v), in the image coordinate then has acorresponding point, B(0,y, 0), in the world coordinate system. As shownin FIG. 4A, angle q is an angle of the master camera 120 between point Band point C, and angle t is an angle of the master camera between pointB and master camera's center point of view E_(m).

Referring to the image coordinates shown in FIG. 4B, a bounding box 420is established for the object of interest 110. The bounding box 420represents a rectangle circumscribing the object of interest 110 asshown in an image corresponding to the master camera's viewing area 130.The dimensions of the bounding box 420, B_(w) by B_(h), are thereforemeasured in pixels, where B_(w) and B_(h) are the corresponding widthand height of the bounding box 420, respectively. The width and heightof the bounding box 420 typically represent a maximum width and amaximum height of the object of interest in image coordinates.

The world coordinate of C projected onto the xy plane can be computed asfollows:

$\begin{matrix}{{x = \frac{h_{m} \cdot {\tan(p)}}{{\sin\left( {\theta_{m} + 1} \right)} \cdot \sqrt{{\tan^{2}(t)} + 1}}},} & (1) \\{{y = \frac{h_{m}}{\tan\left( {\theta_{m} + t} \right)}},} & (2) \\{{z = 0};} & (3)\end{matrix}$where intermediate variables p and t are calculated as:

$\begin{matrix}{p = {{\tan^{- 1}\left( {\frac{{2 \cdot \tan}\;\alpha}{I_{w}} \cdot u} \right)}\mspace{14mu}{and}}} & (4) \\{t = {{\tan^{- 1}\left( {\frac{{2 \cdot \tan}\;\beta}{I_{h}} \cdot v} \right)}.}} & (5)\end{matrix}$

A pseudo reference zooming factor, M₁, corresponding to the mastercamera 120 when the object 110 is located at the center of the mastercamera's viewing area 130, can be computed as follows:

$\begin{matrix}{M_{1} = {{\min\left( {\frac{I_{w}}{B_{w}},\frac{I_{h}}{B_{h}}} \right)}.}} & (6)\end{matrix}$

Because the object of interest 110 may not be located at the center ofthe master camera's viewing area 130, the actual reference zoomingfactor, M′₁, corresponding to the master camera 120 is:

$\begin{matrix}{{M_{1}^{\prime} = {M_{1} \cdot \frac{\sin\left( {2 \cdot \theta_{m}} \right)}{\sin\left( {2 \cdot \theta_{m}^{\prime}} \right)}}},} & (7)\end{matrix}$where θ′_(m) is the corresponding tilt angle for zooming factor M′₁.

The zooming factor of the master camera 120 does not change. The zoomingfactor of the master camera 120 is a reference zooming factor used tocalculate a zooming factor, M₂, for the slave camera 140 as follows:

$\begin{matrix}{\begin{matrix}{M_{2} = {M_{1}^{\prime} \cdot \frac{{\overset{\_}{A_{s}C}}/{\cos\left( \theta_{s} \right)}}{{\overset{\_}{A_{m}C}}/{\cos\left( \theta_{m}^{\prime} \right)}}}} \\{{M_{1}^{\prime} \cdot \frac{\cos\left( \theta_{m}^{\prime} \right)}{\cos\left( \theta_{s} \right)} \cdot \frac{\sqrt{\left( {x - x_{s}} \right)^{2} + \left( {y - y_{s}} \right)^{2} + h_{s}^{2}}}{{h_{m}/\sin}\;\theta_{m}^{\prime}}},}\end{matrix}{or}} & (8) \\{M_{2} = \frac{M_{1}^{\prime} \cdot {\cos\left( \theta_{m}^{\prime} \right)} \cdot {\sin\left( \theta_{m}^{\prime} \right)} \cdot \sqrt{\left( {x - x_{s}} \right)^{2} + \left( {y - y_{s}} \right)^{2} + h_{s}^{2}}}{{\cos\left( \theta_{s} \right)} \cdot h_{m}}} & (9)\end{matrix}$

The distance of the object of interest 110 to the slave camera 140 canbe computed by:

$\begin{matrix}{{\overset{\_}{A_{s}C}} = {\sqrt{\left( {x - x_{2}} \right)^{2} + \left( {y - y_{s}} \right)^{2} + h_{s}^{2}} = {\frac{h_{s}}{\sin\left( \theta_{s} \right)}.}}} & (10)\end{matrix}$Therefore, because the tilt angle of the slave camera 140 is known, theformula for the zooming factor for the slave camera 140 can be modifiedinto a simpler form as follows:

$\begin{matrix}\begin{matrix}{M_{2} = {M_{1}^{\prime} \cdot \frac{h_{s} \cdot {\sin\left( {2 \cdot \theta_{m}^{\prime}} \right)}}{h_{m} \cdot {\sin\left( {2 \cdot \theta_{s}} \right)}}}} \\{= {M_{1} \cdot \frac{\sin\left( {2 \cdot \theta_{m}} \right)}{\sin\left( {2 \cdot \theta_{m}^{\prime}} \right)} \cdot \frac{h_{s} \cdot {\sin\left( {2 \cdot \theta_{m}^{\prime}} \right)}}{h_{m} \cdot {\sin\left( {2 \cdot \theta_{s}} \right)}}}} \\{= {M_{1} \cdot {\frac{h_{s} \cdot {\sin\left( {2 \cdot \theta_{m}} \right)}}{h_{m} \cdot {\sin\left( {2 \cdot \theta_{s}} \right)}}.}}}\end{matrix} & (11)\end{matrix}$

Referring to FIG. 5, with further reference to FIGS. 1-4, a process 500of determining a zoom factor for a slave camera 140 in a videosurveillance system utilizing the master camera 120 and the slave camera140 is shown. The process 500 is, however, an example only and notlimiting. The process 500 can be altered, e.g., by having stages added,removed, rearranged, combined, and/or performed concurrently.

At stage 510, first image information from the master camera 120 isreceived. The first image information provides sufficient information toconvey a first zooming factor or similar zooming value relating to afirst image. For example, the image information can include the firstzooming factor, or variables such as the bounding box 420 height B_(H)and width B_(w), and coordinates or other indicators of a location ofthe object of interest 110. Alternatively, the information can includeother information, such as raw image data, from which these or othervariables can be determined. At stage 520, a first zooming valuecorresponding to the first image information is determined using thefirst image information and equation 6.

At stage 530, second image information is received from the slave camera140. Here, the information received is indicative of a tilt angle of theslave camera 140, including the tilt angle itself or sensor readings ormeasurements from which the tilt angle is derived. The tilt anglecorresponds to an image captured by the slave camera 140.

The second image information and the first image information correspondto images captured when the object of interest 110 is at substantiallythe same position. Referring to FIG. 4A, for example, this means theobject of interest 110 is at position C(x, y, 0) while first and secondimages are captured by the master camera 130 and the slave camera 140,respectively. The first and second images may be captured at differenttimes, and the tilt angle of the slave camera 140 preferably changes byno more than a few degrees, if at all, from the time the first image iscaptured to the time the second image is captured. This helps ensure theaccuracy of the calculated zooming factor.

Referring again to FIG. 5, a second zooming value is calculated at stage540. With tilt angles of both the master camera 120 and the slave camera140, as well as a first zooming value, the second zoomingvalue—corresponding to a zooming value of the slave camera 140—can becalculated using geometrical methods, such as from equation 11 above. Atstage 550, zooming information indicative of the second zooming value issent from zoom control unit 328 of the master camera. The zoominginformation can be sent to the slave camera 140 directly or to a deviceelsewhere in the surveillance system 100-1 configured to receive thezooming information and adjust the zooming value of the slave camera 140in accordance with the second zooming value.

Other configurations may be used. For example a single camera can beused instead of a master camera and a slave camera. FIG. 6 is a blockdiagram illustrating a video surveillance system 100-2 utilizing asingle PTZ camera 610 with components similar to those shown in FIG. 3.As with system 100-1 shown in FIG. 2, the system 100-2 is provided as anexample only, and is not limiting. Devices may be added, omitted,combined, or separated. For instance, configurations may providemultiple cameras with computing units 620, and/or one or morestand-alone computing units 620. Additionally, as with the computingunit 220 of system 100-1 shown in FIG. 2, computing unit 620 willinclude the hardware and/or software functionality to perform thefunctions described herein.

With the system 110-1, rather than using a tilt angle and referencezooming factor from a master camera, an initial tilt angle and zoomingfactor of the PTZ camera 610 are used. When the object of interest 110moves to a different distance from the PTZ camera 610 and the PTZcamera's tilt angle is adjusted accordingly, a new zooming factor forthe PTZ camera 610 is calculated.

Because the variables involved in a single-camera system differ fromthose of a system with a master camera 120 and a slave camera 140, themathematics for determining the desired zooming factor is alsodifferent. For instance, referring to the geometrical representation ofa single-camera embodiment shown in FIG. 7, in order to keep the size ofthe object of interest 110 constant with respect to the viewing area ofthe PTZ camera 610, the zooming factor is proportional to the distanceof the camera to the object of interest 110 as follows:

$\begin{matrix}{{M_{2} = {M_{1} \cdot \frac{D_{2}}{D_{1}}}},} & (12)\end{matrix}$where D₁ and D₂ are first and second distances from the camera 610 tothe object of interest 110, respectively, and where M₁ and M₂ arecorresponding zooming factors for distances D₁ and D₂, respectively.

The PTZ camera 610 has variables defined as follows:

H is the height of the camera;

θ is the tilt angle of the camera; and

D is the distance from camera to the ground where the object of interest110 is located.

The relationship between H, D, and θ is therefore:

$\begin{matrix}{{{\sin(\theta)} = \frac{H}{D}},{or}} & (13) \\{{D = \frac{H}{\sin(\theta)}},} & (14)\end{matrix}$and the relationship between a first zooming factor, M₁, and a secondzooming factor, M₂, becomes:

$\begin{matrix}{{M_{2} = {M_{1} \cdot \frac{\sin\left( \theta_{1} \right)}{\sin\left( \theta_{2} \right)}}},} & (15)\end{matrix}$where θ₁ and θ₂ are first and second tilt angles of the PTZ camera 610for distances D₁ and D₂, respectively. Thus, for known zooming factor M₁and tilt angle θ₁ at distance D₁, the zooming factor M₂ can bedetermined if the tilt angle θ₂ is known.

The formulae derived above assume that the object of interest 110 is onthe ground and its height compared with its width or length isnegligible, or the object is very far away from the camera (e.g., θ isvery small). To factor in height, the relationship between the height ofthe object of interest 110 and the height as seen by the PTZ camera 610is determined according to:S=S ₀·cos(θ),  (16)where S₀ is the height of the object of interest 110 and S is the heightas seen by the PTZ camera 610. Because cos(θ) is less than 1, S can becomputed the same as the if distance to the object of interest 110 isincreased with a factor of 1/cos(θ).

With this relationship, the zooming factor equation above is modified toyield:

$\begin{matrix}\begin{matrix}{M_{2} = {M_{1} \cdot \frac{D_{2}/{\cos\left( \theta_{2} \right)}}{D_{1}/{\cos\left( \theta_{1} \right)}}}} \\{= {M_{1} \cdot \frac{D_{2} \cdot {\cos\left( \theta_{1} \right)}}{D_{1} \cdot {\cos\left( \theta_{2} \right)}}}} \\{= {M_{1} \cdot {\frac{{\sin\left( \theta_{1} \right)} \cdot {\cos\left( \theta_{1} \right)}}{{\sin\left( \theta_{2} \right)} \cdot {\cos\left( \theta_{2} \right)}}.}}}\end{matrix} & (17)\end{matrix}$This equation can be simplified as follows:

$\begin{matrix}{M_{2} = {M_{1} \cdot {\frac{\sin\left( {2 \cdot \theta_{1}} \right)}{\sin\left( {2 \cdot \theta_{2}} \right)}.}}} & (18)\end{matrix}$

When compared with equation 15, factoring in the height of the object ofinterest 110 results in multiplying θ₁ and θ₂ by a factor of 2. Thus,the factor of 2 can be removed from equation 18 (resulting in equation15) if the height of the object of interest 110 is ignored. Similarly,with regard to equation 11, the factor of 2 multiplied with θ_(s) andθ_(M) can be removed if the height of the object of interest 110 in thetwo-camera system 100-1 of FIG. 2 is ignored.

Referring to FIG. 8, with further reference to FIGS. 6-7, a process 800of determining a zoom factor for the PTZ camera 610 is shown. Theprocess 800 is, however, an example only and not limiting. The process800 can be altered, e.g., by having stages added, removed, rearranged,combined, and/or performed concurrently.

At stage 810, first image information is received from the PTZ camera610, and at stage 820 a first zooming value and a first tilt angle aredetermined. This includes, for example, receiving the first imageinformation by the computing unit 620 in the PTZ camera 610, fromanother component within the PTZ camera 610 and/or from within thecomputing unit 620. As with the process 500, the first image informationis indicative of a first zooming value and a first tilt angle. At stage810, however, the first image information corresponds to an image of thePTZ camera 610. The first zooming value and the first tilt angle may beexplicitly or implicitly included in the first image information.

The first image information is preferably provided after the PTZ camera610 has been calibrated to the object of interest 110. In other words,the first image information is provided and determined once the PTZcamera 610 has properly tracked the object of interest 110 (e.g.,panned/tilted to ensure the object of interest 110 is in the desiredportion of the viewing area) and adjusted to a desirable zooming factor.For example, the PTZ camera 610 can be configured to pan, tilt, and zoomto help ensure the object of interest 110 at a first location is in thecenter of the viewing area and that it occupies about 80% (or anotherderived amount) of the viewing area. After the object of interest 110moves to a second location, the PTZ camera 610 continues to track theobject of interest 110, adjusting the tilt angle, as appropriate.

At stage 830, second image information is received from the PTZ camera610, and at stage 840, a second tilt angle is determined. Stages 830 and840 are similar to stages 810 and 820, and the second image informationtherefore can include the same type of information as the first imageinformation. This includes explicitly or implicitly conveying the secondtilt angle. At stage 850 equation 18 is used to calculate a secondzooming factor using the first zooming value, first tilt angle, andsecond tilt angle.

At stage 860, zooming information indicative of the second zooming valueis sent. For example, the zooming information can be sent from acomputing unit 220 to another component of the PTZ camera 610 that isconfigured to receive the zooming information and adjust the zoomingvalue of the PTZ camera 610 in accordance with the second zooming value.

The methods, systems, and devices discussed above are examples and notlimiting. Various configurations may omit, substitute, or add variousprocedures or components as appropriate. For instance, featuresdescribed with respect to certain configurations may be combined invarious other configurations. For example, a master camera 120 of FIG. 2can be included in system 100-2 of FIG. 6, allowing the system 100-2 ofFIG. 6 to operate in two modes: a first mode in which the PTZ camera 610operates as a slave camera in a master-slave configuration, and a secondmode in which the PTZ camera 610 provides the functionality described ina single-camera configuration. Different aspects and elements describedabove as being separate or in different configurations may be combined.Moreover, although configurations described herein are in the context ofvideo surveillance systems, the methods, systems, and devices discussedabove applications apply in other contexts where a camera system tracks(or can track) an object of interest, such as sporting events, videoconferences, and motion capture systems, among others.

Specific details are given in the description to provide a thoroughunderstanding of example configurations and implementations. Otherexamples may or may not use these specific details. For example,well-known circuits, processes, algorithms, structures, and techniqueshave been shown without unnecessary detail in order to avoid obscuringthe description.

Operations described above in a sequential process may be performed in adifferent sequence, and operations can be omitted or added to theprocesses described, and/or may be performed concurrently. Furthermore,processes described above may be implemented by hardware, softwareexecuted by a processor, firmware, middleware, microcode, hardwaredescription languages, or any combination thereof. When implemented insoftware, firmware, middleware, or microcode, the program code or codesegments to perform the operations may be stored in a non-transitorycomputer-readable medium such as a storage medium. One or moreprocessors can execute the software to perform the appropriate tasks.

Various modifications, alternative constructions, and equivalents may beused without departing from the spirit of the disclosure. For example,elements described above may be components of a larger system, whereother rules may take precedence over or otherwise modify thedescription. Also, a number of steps may be undertaken before, during,or after the above elements are considered. Accordingly, the abovedescription is not limiting of the disclosure and does not define thebounds of the claims.

Other examples and implementations are within the scope and spirit ofthe disclosure and appended claims. Features implementing functions maybe physically located at various positions, including being distributedsuch that portions of functions are implemented at different physicallocations.

Also, as used herein, including in the claims, “or” as used in a list ofitems prefaced by “at least one of” indicates a disjunctive list suchthat, for example, a list of “at least one of A, B, or C” means A or Bor C or AB or AC or BC or ABC (i.e., A and B and C).

Further, more than one invention may be disclosed.

What is claimed is:
 1. A method for determining a zooming value of animage source, the method comprising: receiving, at a computing unit of afirst camera of the image source, first image information of a firstimage of an object of interest, wherein the first image informationcomprises a first tilt angle of the first camera of the image source;receiving second image information, at the computing unit of the firstcamera of the image source, of a second image of the object of interest,wherein the second image information is indicative of a second tiltangle of a second camera of the image source, the first camera beingseparate from the second camera; determining, at the computing unit ofthe first camera of the image source, a first zooming valuecorresponding to the first image; calculating, at the computing unit ofthe first camera of the image source, a second zooming value from thefirst tilt angle, the first zooming value, and the second tilt angle,such that a second size of the object provided by the second camera withthe second tilt angle remains constant with respect to a first size ofthe object in the first image responsive to the second zooming valuebeing applied by the second camera; and sending zooming informationindicative of the second zooming value from the computing unit of thefirst camera to the second camera.
 2. The method recited in claim 1,further comprising: capturing the first image with the first camera ofthe image source using the first tilt angle while the object of interestis at a particular position; and capturing the second image with thesecond camera, separate from the first camera, of the image source usingthe second tilt angle while the object of interest is at the particularposition.
 3. The method recited in claim 2, wherein calculating thesecond zooming value further comprises calculating the second zoomingvalue from at least one of: a height of the first camera relative to theground, or a height of the second camera relative to the ground.
 4. Themethod recited in claim 2, further comprising controlling tracking ofthe object of interest by the second camera.
 5. The method recited inclaim 2, wherein determining the first zooming value comprises comparinga size of the object of interest to a viewing area of the first camera.6. The method recited in claim 5, wherein determining the first zoomingvalue comprises determining a smaller of: a ratio of a height of theviewing area of the first camera to a height of the portion of theviewing area of the first camera occupied by the object of interest, anda ratio of a width of the viewing area of the first camera to a width ofthe portion of the viewing area of the first camera occupied by theobject of interest.
 7. The method recited in claim 1, further comprisingdetermining at least one of the first tilt angle or the second tiltangle.
 8. The method of claim 1, wherein determining the first zoomingvalue further comprises: detecting the object of interest in the firstimage information; and determining, in image coordinates, a bounding boxaround the object of interest based on a detected dimensions of theobject of interest.
 9. The method of claim 1, wherein the method furthercomprises: tracking the object of interest based on additional imageinformation received from the first camera; and sending updated zoominginformation indicative of an updated second zooming value from thecomputing unit of the first camera to the second camera.
 10. The methodof claim 1, wherein determining the first zooming value comprisesdetermining whether the object of interest is located at a center of aviewing area of the first camera and determining the first zooming valuebased in part on whether the object of interest is located at the centerof the viewing area.
 11. The method of claim 1, wherein calculating thesecond zooming value comprises setting the second zooming valueproportional to the first zooming value.
 12. The method of claim 1,wherein calculating the second zooming value comprises setting thesecond zooming value proportional to the sine of twice the first tiltangle divided by the sine of twice the second tilt angle.
 13. Anon-transitory machine-readable storage medium comprising instructionsembodied thereon that, when executed by a computing device, cause thecomputing device to: determine, from first image information provided bya first camera of an image source, a first zooming value correspondingto a first image of an object of interest wherein the first imageinformation comprises a first tilt angle of the image source; determine,from second image information provided by a second camera, separate fromthe first camera, of the image source, a second tilt angle correspondingto a second image of the object of interest; calculate a second zoomingvalue from the first tilt angle, the first zooming value, and the secondtilt angle, such that a second size of the object provided by the secondcamera with the second tilt angle will remain constant with respect to afirst size of the object in the first image responsive to the secondzooming value being applied by the second camera; and send zoominginformation indicative of the second zooming value toward the secondcamera, wherein the computing device comprises a computing unit of thefirst camera of the image source.
 14. The non-transitorymachine-readable storage medium recited in claim 13, wherein theinstructions that cause the computing device to calculate the secondzooming value are further configured to cause the computing device tocalculate the second zooming value from at least one of: a height of thefirst camera relative to the ground, or a height of the second camerarelative to the ground.
 15. The non-transitory machine-readable storagemedium recited in claim 14, wherein the instructions embodied thereon,when executed by the computing device, further cause the computingdevice to control tracking of the object of interest by the secondcamera.
 16. The non-transitory machine-readable storage medium recitedin claim 14, wherein the instructions that cause the computing device todetermine the first zooming value are configured to cause the computingdevice to compare a size of the object of interest relative to a viewingarea of the first camera.
 17. The non-transitory machine-readablestorage medium recited in claim 13, wherein the instructions that causethe computing device to determine the first zooming value are configuredto cause the computing device to compare a size of the object ofinterest relative to a viewing area of the first camera.
 18. Thenon-transitory machine-readable storage medium recited in claim 13,wherein the instructions embodied thereon, when executed by thecomputing device, further cause the at least one machine to determine atleast one of the first tilt angle or the second tilt angle.
 19. Thenon-transitory machine-readable storage medium recited in claim 13,wherein the instructions that cause the computing device to calculatethe second zooming value are further configured to set the secondzooming value proportional to the first zooming value.
 20. Thenon-transitory machine-readable storage medium recited in claim 13,wherein the instructions that cause the computing device to calculatethe second zooming value are further configured to set the secondzooming value proportional to the sine of twice the first tilt angledivided by the sine of twice the second tilt angle.
 21. A systemcomprising: a first camera having a processor and a first tilt angle anda viewing area, the first tilt angle being fixed, wherein the firstcamera is configured to: capture, with the first camera, a first imageof an object of interest while the object of interest is at a particularposition; and output data regarding the first image; a second camerahaving an adjustable tilt angle enabling the second camera to track theobject of interest, the second camera being separate from the firstcamera, wherein the second camera is configured to: capture, with thesecond camera using a second tilt angle, a second image of the object ofinterest while the object of interest is at the particular position; andoutput data regarding the second tilt angle; and the processor of thefirst camera being configured to: receive the data regarding the firstimage; determine a first zooming value for the first camera based on thedata regarding the first image; receive the data regarding the secondtilt angle; calculate a second zooming value from the first tilt angle,the first zooming value, and the second tilt angle, such that a secondsize of the object provided by the image source with the second tiltangle remains constant with respect to a first size of the object in thefirst image responsive to the second zooming value being applied by theimage source; and send information indicative of the second zoomingvalue from the processor of the first camera to the second camera tocause a zooming value of the second camera to change according to thesecond zooming value.
 22. The system recited in claim 21, wherein theprocessor is configured to calculate the second zooming value by settingthe second zooming value proportional to the first zooming value. 23.The system recited in claim 21, wherein the processor is configured todetermine the first zooming value by comparing a portion of the viewingarea of the first camera occupied by the object of interest to theviewing area of the first camera.
 24. The system recited in claim 23,wherein the processor is configured to determine the first zooming valueby determining a smaller of: a ratio of a height of the viewing area ofthe first camera to a height of the portion of the viewing area of thefirst camera occupied by the object of interest, and a ratio of a widthof the viewing area of the first camera to a width of the portion of theviewing area of the first camera occupied by the object of interest. 25.The system recited in claim 21, wherein the processor is located withina first housing of the first camera.
 26. The system recited in claim 21,wherein the processor is further configured to control the tracking ofthe object of interest by the second camera.
 27. The system recited inclaim 21, wherein the processor is further configured to calculate thesecond zooming value from at least one of: a height of the first camerarelative to the ground, or a height of the second camera relative to theground.